import uuid
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
from django.conf import settings

def send_sms_verification_code(phone_number, verification_code):
    """
    发送短信验证码的函数。

    :param phone_number: 接收短信验证码的手机号码。
    :param verification_code: 需要发送的短信验证码。
    :return: 阿里云短信服务返回的响应结果。
    """
    # 从Django的配置项中获取阿里云短信服务的Access Key ID、Access Key Secret、签名名称和模板CODE
    access_key_id = settings.ALIYUN_SMS_ACCESS_KEY_ID
    access_key_secret = settings.ALIYUN_SMS_ACCESS_KEY_SECRET
    sign_name = settings.ALIYUN_SMS_SIGN_NAME
    template_code = settings.ALIYUN_SMS_TEMPLATE_CODE['login']

    # 创建阿里云SDK的客户端，需要传入Access Key ID和Access Key Secret
    client = AcsClient(access_key_id, access_key_secret, 'default')

    # 创建阿里云SDK的API请求
    request = CommonRequest()
    request.set_method('POST')  # 设置请求方法为POST
    request.set_domain('dysmsapi.aliyuncs.com')  # 设置请求域名
    request.set_version('2017-05-25')  # 设置API版本号
    request.set_action_name('SendSms')  # 设置API操作名称为SendSms

    # 添加请求参数，包括接收手机号码、短信签名、短信模板和模板参数等信息
    request.add_query_param('PhoneNumbers', phone_number)  # 接收短信验证码的手机号码
    request.add_query_param('SignName', sign_name)  # 阿里云短信服务的短信签名
    request.add_query_param('TemplateCode', template_code)  # 阿里云短信服务的短信模板CODE
    request.add_query_param('TemplateParam', '{"code": "%s"}' % verification_code)  # 短信模板参数，包括验证码信息

    # 调用阿里云SDK提供的API请求方法，发送短信验证码，并返回响应结果
    response = client.do_action_with_exception(request)
    return response